1. Field of the Invention
This invention relates to products, namely software, used in developing and implementing psychological research experiments and assessment of the research for experimental control, wherein the research is experiments involving the presentation of stimuli to humans and collecting responses for the purposes of psychological, behavioral, or human factors assessment.
2. Prior Art
There are known products, generally software, used in creating psychological research experiments and assessment for experimental control. The experiments created involve presenting stimuli to humans and collecting responses for the purposes of psychological, behavioral, or human factors assessment. This software is referred to as “experiment generator” software and is used to specify and run psychological experiments.
In other fields, the superior ease-of-use characteristics of computerized spreadsheets are well-known, especially in the field of office automation. Although the use of computerized spreadsheets is well known, certain computer applications in certain fields have been unable to take full advantage of the spreadsheet metaphor. In the area of psychological research and assessment, a spreadsheet is a familiar interface to researchers since nearly all experimenters analyze data using spreadsheets. However the creation of an experiment is a very different knowledge structure than a set of cells or tables. In order to represent a controlled psychological experiment effectively in a spreadsheet there is a need to provide hierarchical property specification within a spreadsheet interface. The known experiment generator software has failed to adequately provide hierarchical property specification within a spreadsheet interface.
A computerized spreadsheet is, essentially, a system of graphically represented tables and/or a set of expressions within a multi-dimensional grid of cells. Each cell in the spreadsheet grid represents a direct input or parenthetical expression that can, in turn, be a function of some number of other cellular expressions. Each worksheet can provide multiple tables and figures.
Computerized spreadsheets are intended to provide immediate response (i.e. updating of the spreadsheet) to any modifications of the programmed expressions. However, conventional spreadsheets do not provide the controlled hierarchical data structure necessary for efficient description of an experiment. A typical psychological experiment is composed of trials, each of which involves several experimental objects/operators (e.g., presentation of text, graphics, sounds, combinations thereof, or the like) and the collection of responses (key presses, mouse clicks, physiological input signals such as heart rate, etc). The experimental objects are made up of properties (e.g., text, color and font). The experiment itself is composed of sets of trials that make up blocks, and sets of blocks that make up a session (or run). In contrast, the standard spreadsheet is a flat data base without representation of the hierarchical nature of an experiment. The absence of hierarchical representation makes it difficult for the user to specify the experiment, and for the program to provide defaults or to prompt the user for require or recommended specification parameters. There is a need for a hierarchical spreadsheet capable of managing the complexity of such experiments to facilitate specification or designing of the experiment and reviewing/auditing of its performance.
Regarding the specifics of prior art experiment generators, there have been many approaches to experiment generators including script (see Bates & D'Oliveiro, 2003; Dutta, 1995; Eberhardt & Neveroy, 1997; Foster & Foster, 2003; Haussmann, 1992, Hawley, 1991; Hunt, 1994; Kessels & Postma, 1999; Palya & Walter, 1993, 1995; Pallier, & Dupoux, 1997; Pulking, 1996), hypercard (Chute, 1986. Cox & Hulme, et. al., 1992), form based systems (MEL-Schneider, 1989), experiment diagram approaches (PsyScope—Cohen & MacWhinney, 1993), cross linked lists (SuperLab—Haxby, Parasuraman, et al. 1993) and graphical interfaces (E-Prime—Schneider, Eschman, & Zuccolotto, 2002). These approaches fall at various points along a continuum in which power and flexibility are traded-off with speed of learning and ease of use. For example, programming languages provide the greatest power for experiment generation at the greatest cost, whereas list templates provide modest learning time with very limited power. Graphical interfaces provide intermediate power with intermediate effort. Tables of properties have been used in experiment generator software. MEL (Schneider, 1989) and E-Prime (Schneider, Eschman, & Zuccolotto, 2002) which include property lists and table of properties. Empirisoft (see website at http://www.empirisoft.com/medialab/) markets a product that utilizes a table of all the properties of an experiment event. Many of these approaches do a poor job of managing experiment complexity. For example all the properties are shown with no help on each property. Conversely, for a single slide object in E-Prime there are over 120 properties that can be set. For the novice user, having a hundred columns to look through to determine what to set can be daunting. E-Prime provides property pages which provide somewhat of a hierarchy in that there are tables for classes of properties (e.g., display, timing response, sound). However these systems take significant time to learn, typically many hours.
A substantial amount of psychological research requires millisecond or better precision timing of experiments, see Plant, Hammond & Turner 2004. It is very challenging and often impossible to maintain millisecond timing precision for arbitrarily long periods of time with standard Personal Computer (PC) multitasking operating systems such as Microsoft Windows XP® or Macintosh® OS X. These operating systems are non-deterministic by design and are focused on providing efficient use within a business/office environment rather than a time critical research environment. This is a problem because, in order to minimize cost and learning time, researchers seek to use standard desktop computers for psychological research. However, use of such computers can produce timing errors that can be hundreds of milliseconds in length and such operating system timing errors are not easily detected or reported to the experimenter. As the complexity of personal computers increases, timing precision is generally deteriorating with new releases of operating systems. For example, in the Windows® family of operating systems the system arbitrarily deletes active memory pages causing page faults that disrupt timing. Note this is done to better manage available memory across concurrently loaded applications by determining which memory pages may no longer be needed and thus can be temporarily removed/deleted to reduce the system wide ‘working set’ of memory pages. However, such operating system features produce serious problems of putting short erratic time delays into the execution of the experiment.
Past attempts have been made to use specialized software processes, typically running at high priority, to maintain timing accuracy in PC environments. Many such systems have been published (see Schneider 1972, Plant et. al., 2004). These methods worked well with older operating systems (e.g., DOS) or current generation dedicated or embedded real-time operating systems that directly supported fast short duration threads (QNX Neutrino RTOS http://www.qnx.com/products/rtos/). However the evolution of desktop computers and the extensive use of pre-emptive multitasking operating systems with complex systems for virtual memory and task management have produced computing systems with undependable and non-deterministic timing precision. Techniques, such as using high execution priority, can be used for short durations. However if the user's programs need to access the hard drive, or need a variety of other low level services, timing becomes erratic. For example in Windows®, once a program releases its time slice to the operating system there is no way for the application to predict, and/or forcibly regain execution control in less than a time slice/quantum of the operating system (typically 10 ms). The end result is that the timing is generally good for most applications (e.g., less than 1 ms error but can become very erratic with the program experiencing tens of milliseconds of down time at low frequency (e.g., less than 5% of the time slices). However such timing errors can severely distort the data collected in psychological experiments. The end result is that for experiment processing there is a need to compensate for PC timing and to correct timing errors.